package ConnectivityEditor.Window; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.RowData; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Combo; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.widgets.Label; import Command.LDrawPart; import Common.Box3; import Common.Vector3f; import Connectivity.CollisionBox; import ConnectivityEditor.Connectivity.CollisionBoxT; import ConnectivityEditor.Connectivity.ConnectivityGenerator; import ConnectivityEditor.Connectivity.FixedT; public class CollisionEditorComposite extends Composite { private Label lblNewLabel; private Combo combo_Type; private Combo combo_X; private Label lblSizey; private Combo combo_Y; private Label lblSizez; private Combo combo_Z; /** * Create the composite. * * @param parent * @param style */ public CollisionEditorComposite(Composite parent, int style) { super(parent, style); RowLayout rowLayout = new RowLayout(SWT.VERTICAL); rowLayout.center = true; setLayout(rowLayout); Group group = new Group(this, SWT.NONE); group.setLayoutData(new RowData(161, 173)); lblNewLabel = new Label(group, SWT.NONE); lblNewLabel.setLocation(8, 20); lblNewLabel.setSize(55, 15); lblNewLabel.setText("Type"); combo_Type = new Combo(group, SWT.READ_ONLY); combo_Type.setBounds(69, 17, 88, 23); for (CollisionBoxT type : CollisionBoxT.values()) combo_Type.add(type.toString()); combo_Type.select(0); combo_X = new Combo(group, SWT.READ_ONLY); combo_X.setBounds(69, 52, 88, 23); combo_Y = new Combo(group, SWT.READ_ONLY); combo_Y.setBounds(69, 81, 88, 23); combo_Z = new Combo(group, SWT.READ_ONLY); combo_Z.setBounds(69, 108, 88, 23); for(int i=1; i <= 50; i++){ combo_X.add(""+i); combo_Y.add(""+i); combo_Z.add(""+i); } combo_X.select(9); combo_Y.select(11); combo_Z.select(9); Label lblNewLabel_1 = new Label(group, SWT.NONE); lblNewLabel_1.setBounds(8, 55, 55, 15); lblNewLabel_1.setText("Size_X"); lblSizey = new Label(group, SWT.NONE); lblSizey.setText("Size_Y"); lblSizey.setBounds(8, 84, 55, 15); lblSizez = new Label(group, SWT.NONE); lblSizez.setText("Size_Z"); lblSizez.setBounds(8, 111, 55, 15); Button btnGenerate = new Button(this, SWT.NONE); btnGenerate.setLayoutData(new RowData(122, 48)); btnGenerate.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent arg0) { handleGenerate(); } }); btnGenerate.setText("Generate"); this.pack(); this.layout(); } protected void handleGenerate() { Vector3f size = new Vector3f(Float.parseFloat(combo_X.getText()), Float.parseFloat(combo_Y.getText()), Float.parseFloat(combo_Z.getText())); CollisionBoxT type; type = CollisionBoxT.valueOf(combo_Type.getText()); CollisionBox newItem = ConnectivityGenerator.getInstance() .generateCollisionBox(type, size); newItem.setParent(ConnectivityEditor.getInstance().getWorkingPart()); ConnectivityEditor.getInstance().addConnectivity(newItem); } @Override protected void checkSubclass() { // Disable the check that prevents subclassing of SWT components } }